﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using CI.Caja.BL;
using CI.Caja.BE;

namespace CI.Caja.MVC.Controllers
{
    public class ArqueoController : Controller
    {
        //
        // GET: /Arqueo/
        public IBL_PuntoVenta PtoVentaService { get; set; }
        public IBL_Moneda MonedaService { get; set; }
        public IBL_Denominacion DenominacionService { get; set; }
        public IBL_Cajero_PuntoVenta Cajero_PuntoVentaService { get; set; }
        public IBL_Arqueo ArqueoService { get; set; }
        public IBL_DetalleArqueo DetalleArqueoService { get; set; }
        public IBL_Comprobante ComprobanteService { get; set; }


        public ActionResult Index()
        {
            
            TempData["ptoVta"] = ListarPtosVenta();
            TempData["tipoMoneda"] = ListarTipoMoneda();
          
            return View();
        }

        public ActionResult ListaArqueos()
        {

            TempData["arqueos"] = ArqueoService.ListarArqueo();
            

            return View();
        }

        public ActionResult ListaDetalleArqueos(int id)
        {

            TempData["detallearqueos"] = DetalleArqueoService.ListarDetalleArqueo(id);


            return View();
        }

        private ICollection<SelectListItem> ListarPtosVenta()
        {
            ICollection<SelectListItem> PtosVenta = new List<SelectListItem>();
            PtosVenta.Add(new SelectListItem() { Value = string.Empty, Text = "Seleccione..." });
            foreach (BE_PuntoVenta ptoVenta in PtoVentaService.ListarPtoVenta())
            {
          
                if (Session["CodigoPtoVtaSeleccionado"] != null)
                {
                    if (Session["CodigoPtoVtaSeleccionado"].Equals(ptoVenta.IdPuntoVenta.ToString()))
                    {
                        PtosVenta.Add(new SelectListItem() { Value = ptoVenta.IdPuntoVenta.ToString(), Text = ptoVenta.Descripcion, Selected = true });
                    }
                    else {
                        PtosVenta.Add(new SelectListItem() { Value = ptoVenta.IdPuntoVenta.ToString(), Text = ptoVenta.Descripcion });
                    }
                }
                else {
                    PtosVenta.Add(new SelectListItem() { Value = ptoVenta.IdPuntoVenta.ToString(), Text = ptoVenta.Descripcion });
                }
            }
            return PtosVenta;

        }

  

        private ICollection<SelectListItem> ListarTipoMoneda()
        {
            ICollection<SelectListItem> TiposMoneda = new List<SelectListItem>();
            TiposMoneda.Add(new SelectListItem() { Value = string.Empty, Text = "Seleccione..." });
            foreach (BE_Moneda moneda in MonedaService.ListarMoneda())
            {
                if (Session["TipoMonedaSeleccionado"] != null)
                {
                    if (Session["TipoMonedaSeleccionado"].Equals(moneda.IdMoneda.ToString()))
                    {
                        TiposMoneda.Add(new SelectListItem() { Value = moneda.IdMoneda.ToString(), Text = moneda.Descripcion, Selected = true });
                    }
                    else {
                        TiposMoneda.Add(new SelectListItem() { Value = moneda.IdMoneda.ToString(), Text = moneda.Descripcion });
                    }

                }
                else {
                    TiposMoneda.Add(new SelectListItem() { Value = moneda.IdMoneda.ToString(), Text = moneda.Descripcion });
                }
            }
            return TiposMoneda;

        }


        private ICollection<BE_Denominacion> ListarDenominacion()
        {
            if (Session["CodigoPtoVtaSeleccionado"] != null)
            {
                TempData["cajeroActivo"] = Cajero_PuntoVentaService.ObtenerCajeroPtoVta((string)Session["CodigoPtoVtaSeleccionado"]);
            }

            ICollection<BE_Denominacion> Denominacion = new List<BE_Denominacion>();
            if (!string.IsNullOrEmpty(Session["TipoMonedaSeleccionado"].ToString()))
            {
                Denominacion = DenominacionService.ListarDenominacion(Convert.ToInt32(Session["TipoMonedaSeleccionado"]));
                TempData["ImporteSistema"] = ComprobanteService.ObtenerImporteTotalIngresos(); //4000;
            }
          return Denominacion;

        }

        [HttpPost]
        public ActionResult ListarMonedaDenominacion(FormCollection fc)
        {
            Session["TipoMonedaSeleccionado"] = Request.Form["CodigoTipoMoneda"].ToString();
            TempData["denominacion"] = ListarDenominacion();
            return RedirectToAction("Index", "Arqueo");
        }

        [HttpPost]
        public ActionResult MuestraCajeroActivo(FormCollection fc)
        {

            Session["CodigoPtoVtaSeleccionado"] = Request.Form["CodigoPtoVta"].ToString();

            TempData["cajeroActivo"] = Cajero_PuntoVentaService.ObtenerCajeroPtoVta((string)Session["CodigoPtoVtaSeleccionado"]);
                                    
            return RedirectToAction("Index", "Arqueo");
        }


             

        //
        // GET: /Arqueo/Details/5

        public ActionResult Details(int id)
        {
            return View();
        }

        //
        // GET: /Arqueo/Create

        public ActionResult Create()
        {
            return View();
        }


      private bool Validar()
        {
            //Validar Punto de Venta
            if (Request.Form["HdCodCajero"] == null)
            {
                TempData["msgError"] = "<h3 style='color:red'>• Seleccione un Punto de Venta</h3>";

                return false;
            }

            //Validar Tipo de Moneda
            if (Session["TipoMonedaSeleccionado"] == null)
            {
                TempData["msgError"] = "<h3 style='color:red'>• Seleccione un Tipo de Moneda</h3>";

                if (Session["CodigoPtoVtaSeleccionado"] != null)
                {
                    TempData["cajeroActivo"] = Cajero_PuntoVentaService.ObtenerCajeroPtoVta((string)Session["CodigoPtoVtaSeleccionado"]);
                }

                return false;
            }


          //Validacion de checks
            if (Session["TipoMonedaSeleccionado"].ToString() == "1")
            {
                //Validar si no hizo ningun check en ninguna denominacion en el tipo Soles
                if (Request.Form["chk1"] == null && Request.Form["chk2"] == null && Request.Form["chk3"] == null && Request.Form["chk4"] == null && Request.Form["chk5"] == null && Request.Form["chk6"] == null && Request.Form["chk7"] == null && Request.Form["chk8"] == null && Request.Form["chk9"] == null && Request.Form["chk10"] == null && Request.Form["chk11"] == null)
                {
                    TempData["msgError"] = "<h3 style='color:red'>• Ingrese monto para alguna denominación </h3>";

                    if (Session["TipoMonedaSeleccionado"] != null)
                    {
                        TempData["denominacion"] = ListarDenominacion();
                    }

                    return false;
                }
            }
            else if (Session["TipoMonedaSeleccionado"].ToString() == "2") {
                //Validar si no hizo ningun check en ninguna denominacion en el tipo Dolares
                if (Request.Form["chk12"] == null && Request.Form["chk13"] == null && Request.Form["chk14"] == null && Request.Form["chk15"] == null && Request.Form["chk16"] == null && Request.Form["chk17"] == null && Request.Form["chk18"] == null && Request.Form["chk19"] == null && Request.Form["chk20"] == null )
                {
                    TempData["msgError"] = "<h3 style='color:red'>• Ingrese monto para alguna denominación </h3>";

                    if (Session["TipoMonedaSeleccionado"] != null)
                    {
                        TempData["denominacion"] = ListarDenominacion();
                    }

                    return false;
                }
            }



          //Validacion de cantidades
            if (Session["TipoMonedaSeleccionado"].ToString() == "1")
            {
                //Validar el ingreso de las cantidades en el tipo Soles
                if (String.IsNullOrEmpty(Request.Form["Text1"]) && String.IsNullOrEmpty(Request.Form["Text2"]) && String.IsNullOrEmpty(Request.Form["Text3"]) && String.IsNullOrEmpty(Request.Form["Text4"]) && String.IsNullOrEmpty(Request.Form["Text5"]) && String.IsNullOrEmpty(Request.Form["Text6"]) && String.IsNullOrEmpty(Request.Form["Text7"]) && String.IsNullOrEmpty(Request.Form["Text8"]) && String.IsNullOrEmpty(Request.Form["Text9"]) && String.IsNullOrEmpty(Request.Form["Text10"]) && String.IsNullOrEmpty(Request.Form["Text11"]))
                {
                    TempData["msgError"] = "<h3 style='color:red'>• El monto ingresado no es válido </h3>";

                    if (Session["TipoMonedaSeleccionado"] != null)
                    {
                        TempData["denominacion"] = ListarDenominacion();
                    }

                    return false;
                }
            }
            else if (Session["TipoMonedaSeleccionado"].ToString() == "2")
            {
                //Validar el ingreso de las cantidades en el tipo Dolares
                if (String.IsNullOrEmpty(Request.Form["Text12"]) && String.IsNullOrEmpty(Request.Form["Text13"]) && String.IsNullOrEmpty(Request.Form["Text14"]) && String.IsNullOrEmpty(Request.Form["Text15"]) && String.IsNullOrEmpty(Request.Form["Text16"]) && String.IsNullOrEmpty(Request.Form["Text17"]) && String.IsNullOrEmpty(Request.Form["Text18"]) && String.IsNullOrEmpty(Request.Form["Text19"]) && String.IsNullOrEmpty(Request.Form["Text20"]) )
                {
                    TempData["msgError"] = "<h3 style='color:red'>• El monto ingresado no es válido </h3>";

                    if (Session["TipoMonedaSeleccionado"] != null)
                    {
                        TempData["denominacion"] = ListarDenominacion();
                    }

                    return false;
                }
            
            }


            return true;
        }




        //
        // POST: /Arqueo/Create

        [HttpPost]
        public ActionResult Create(FormCollection collection)
        {
            try
            {

                //Validaciones
                if (!Validar()) return RedirectToAction("Index"); 


                if (ModelState.IsValid)
                {

                    // Registrar Arqueo
                    BE_Arqueo arqueo = new BE_Arqueo();
                    //El IdArqueo se Generara automaticamente
                    arqueo.IdArqueo = 0;
                    arqueo.IdCajero = Request.Form["HdCodCajero"].ToString();
                    arqueo.Fecha = DateTime.Today.ToShortDateString();
                    arqueo.Hora = DateTime.Now.ToString("HH:mm:ss"); //DateTime.Today.ToShortTimeString();
                    arqueo.IdPtoVta = Convert.ToInt32(Session["CodigoPtoVtaSeleccionado"]);
                    arqueo.ImporteTotal = Convert.ToDecimal(Request.Form["HdlblTotal"].ToString());

                    arqueo = ArqueoService.RegistrarArqueo(arqueo);

                    if (Session["TipoMonedaSeleccionado"].ToString() == "1")
                    {


                        // Registrar Detalle Arqueo

                        if (Request.Form["chk1"] != null)
                        {
                            Session["Schk1"] = Request.Form["chk1"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk2"] != null)
                        {
                            Session["Schk2"] = Request.Form["chk2"].ToString().Replace(",", "");
                        }


                        if (Request.Form["chk3"] != null)
                        {
                            Session["Schk3"] = Request.Form["chk3"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk4"] != null)
                        {
                            Session["Schk4"] = Request.Form["chk4"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk5"] != null)
                        {
                            Session["Schk5"] = Request.Form["chk5"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk6"] != null)
                        {
                            Session["Schk6"] = Request.Form["chk6"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk7"] != null)
                        {
                            Session["Schk7"] = Request.Form["chk7"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk8"] != null)
                        {
                            Session["Schk8"] = Request.Form["chk8"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk9"] != null)
                        {
                            Session["Schk9"] = Request.Form["chk9"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk10"] != null)
                        {
                            Session["Schk10"] = Request.Form["chk10"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk11"] != null)
                        {
                            Session["Schk11"] = Request.Form["chk11"].ToString().Replace(",", "");
                        }

                        if (Request.Form["Text1"] != null) Session["Stxt1"] = Request.Form["Text1"].ToString();
                        if (Request.Form["Text2"] != null) Session["Stxt2"] = Request.Form["Text2"].ToString();
                        if (Request.Form["Text3"] != null) Session["Stxt3"] = Request.Form["Text3"].ToString();
                        if (Request.Form["Text4"] != null) Session["Stxt4"] = Request.Form["Text4"].ToString();
                        if (Request.Form["Text5"] != null) Session["Stxt5"] = Request.Form["Text5"].ToString();
                        if (Request.Form["Text6"] != null) Session["Stxt6"] = Request.Form["Text6"].ToString();
                        if (Request.Form["Text7"] != null) Session["Stxt7"] = Request.Form["Text7"].ToString();
                        if (Request.Form["Text8"] != null) Session["Stxt8"] = Request.Form["Text8"].ToString();
                        if (Request.Form["Text9"] != null) Session["Stxt9"] = Request.Form["Text9"].ToString();
                        if (Request.Form["Text10"] != null) Session["Stxt10"] = Request.Form["Text10"].ToString();
                        if (Request.Form["Text11"] != null) Session["Stxt11"] = Request.Form["Text11"].ToString();

                        if (Session["Schk1"] != null)
                        {
                            if (Session["Schk1"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 1;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 1;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt1"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk2"] != null)
                        {
                            if (Session["Schk2"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 2;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 2;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt2"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk3"] != null)
                        {
                            if (Session["Schk3"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 3;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 3;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt3"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk4"] != null)
                        {
                            if (Session["Schk4"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 4;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 4;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt4"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }


                        if (Session["Schk5"] != null)
                        {
                            if (Session["Schk5"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 5;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 5;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt5"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk6"] != null)
                        {
                            if (Session["Schk6"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 6;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 6;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt6"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk7"] != null)
                        {
                            if (Session["Schk7"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 7;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 7;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt7"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }


                        if (Session["Schk8"] != null)
                        {
                            if (Session["Schk8"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 8;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 8;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt8"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk9"] != null)
                        {
                            if (Session["Schk9"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 9;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 9;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt9"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }


                        if (Session["Schk10"] != null)
                        {
                            if (Session["Schk10"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 10;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 10;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt10"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }


                        if (Session["Schk11"] != null)
                        {
                            if (Session["Schk11"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 11;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 11;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt11"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }

                        }

                    }
                    else if (Session["TipoMonedaSeleccionado"].ToString() == "2") {

                        // Registrar Detalle Arqueo del tipo de Moneda en Dolares

                        if (Request.Form["chk12"] != null)
                        {
                            Session["Schk12"] = Request.Form["chk12"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk13"] != null)
                        {
                            Session["Schk13"] = Request.Form["chk13"].ToString().Replace(",", "");
                        }


                        if (Request.Form["chk14"] != null)
                        {
                            Session["Schk14"] = Request.Form["chk14"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk15"] != null)
                        {
                            Session["Schk15"] = Request.Form["chk15"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk16"] != null)
                        {
                            Session["Schk16"] = Request.Form["chk16"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk17"] != null)
                        {
                            Session["Schk17"] = Request.Form["chk17"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk18"] != null)
                        {
                            Session["Schk18"] = Request.Form["chk18"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk19"] != null)
                        {
                            Session["Schk19"] = Request.Form["chk19"].ToString().Replace(",", "");
                        }

                        if (Request.Form["chk20"] != null)
                        {
                            Session["Schk20"] = Request.Form["chk20"].ToString().Replace(",", "");
                        }

                        
                        if (Request.Form["Text12"] != null) Session["Stxt12"] = Request.Form["Text12"].ToString();
                        if (Request.Form["Text13"] != null) Session["Stxt13"] = Request.Form["Text13"].ToString();
                        if (Request.Form["Text14"] != null) Session["Stxt14"] = Request.Form["Text14"].ToString();
                        if (Request.Form["Text15"] != null) Session["Stxt15"] = Request.Form["Text15"].ToString();
                        if (Request.Form["Text16"] != null) Session["Stxt16"] = Request.Form["Text16"].ToString();
                        if (Request.Form["Text17"] != null) Session["Stxt17"] = Request.Form["Text17"].ToString();
                        if (Request.Form["Text18"] != null) Session["Stxt18"] = Request.Form["Text18"].ToString();
                        if (Request.Form["Text19"] != null) Session["Stxt19"] = Request.Form["Text19"].ToString();
                        if (Request.Form["Text20"] != null) Session["Stxt20"] = Request.Form["Text20"].ToString();
                    

                        if (Session["Schk12"] != null)
                        {
                            if (Session["Schk12"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 1;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 12;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt12"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk13"] != null)
                        {
                            if (Session["Schk13"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 2;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 13;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt13"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk14"] != null)
                        {
                            if (Session["Schk14"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 3;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 14;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt14"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk15"] != null)
                        {
                            if (Session["Schk15"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 4;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 15;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt15"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }


                        if (Session["Schk16"] != null)
                        {
                            if (Session["Schk16"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 5;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 16;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt16"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk17"] != null)
                        {
                            if (Session["Schk17"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 6;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 17;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt17"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk18"] != null)
                        {
                            if (Session["Schk18"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 7;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 18;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt18"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }


                        if (Session["Schk19"] != null)
                        {
                            if (Session["Schk19"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 8;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 19;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt19"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                        if (Session["Schk20"] != null)
                        {
                            if (Session["Schk20"].ToString().ToUpper().Equals("ON"))
                            {
                                BE_DetalleArqueo detallearqueo = new BE.BE_DetalleArqueo();
                                detallearqueo.IdArqueo = arqueo.IdArqueo;
                                detallearqueo.IdDetalle = 9;
                                detallearqueo.IdMoneda = Convert.ToInt32(Session["TipoMonedaSeleccionado"]);
                                detallearqueo.IdDenominacion = 20;
                                detallearqueo.Cantidad = Convert.ToInt32(Session["Stxt20"]);
                                DetalleArqueoService.RegistrarDetalleArqueo(detallearqueo);
                            }
                        }

                                             
                    }


                    TempData["msg"] = "1";

                    Session["CodigoPtoVtaSeleccionado"] = null;
                    Session["TipoMonedaSeleccionado"] = null;

                    return RedirectToAction("Index");

                }
                else {
                    return View();
                }

            }
            catch (Exception ex)
            {
                //ModelState.AddModelError(String.Empty, ex.Message);
               // TempData["cargos"] = ListarCargos();
                TempData["msgError"] = "<h3 style='color:red'>• " + ex.Message + "</h3>";
                //return View();
                return RedirectToAction("Index");
            }
        }
        
        //
        // GET: /Arqueo/Edit/5
 
        public ActionResult Edit(int id)
        {
            return View();
        }

        //
        // POST: /Arqueo/Edit/5

        [HttpPost]
        public ActionResult Edit(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add update logic here
 
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

        //
        // GET: /Arqueo/Delete/5
 
        public ActionResult Delete(int id)
        {
            return View();
        }

        //
        // POST: /Arqueo/Delete/5

        [HttpPost]
        public ActionResult Delete(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add delete logic here
 
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
    }
}
